<?php
class documento
{
	public function anadirArchivo()
	{
            if(isset($_POST['upload']) && $_FILES['userfile']['size'] > 0)
            {   
                if (!isset($_SESSION))
                    session_start();
                include_once($_SESSION['dir'].'/basedatos.php');
                
                $id_Grupo = $_SESSION['id_Grupo'];
                $idPerfil = $_SESSION['k_username'];
                $fileName = $_FILES['userfile']['name'];
                $tmpName  = $_FILES['userfile']['tmp_name'];
                $fileSize = $_FILES['userfile']['size'];
                $fileType = $_FILES['userfile']['type'];

                $fp      = fopen($tmpName, 'r');
                $content = fread($fp, filesize($tmpName));
                $content = addslashes($content);
                fclose($fp);

                if(!get_magic_quotes_gpc())
                {
                    $fileName = addslashes($fileName);
                }
                $database = new basedatos("documento");
                $idName[0] = "nombre";
                $idName[1] = "id_Grupo";
                $id[0] = $fileName;
                $id[1] = $id_Grupo;
                $arr= $database->conseguirDocumentos($id,$idName);
                $num = count($arr);
                if ($num == 0)
                {
                    $database->agregarDocumento($fileName, $fileType, $fileSize, $content, $idPerfil, $id_Grupo);
                    echo "<br>El archivo $fileName fue subido correctamente<br>";
                }
                if($num!=0)
                        echo "Ya existe un archivo con ese nombre";
            } 
            else
            echo "error";
	}
	
	function descargarDocumento()
	{
            include_once($_SESSION['dir'].'/basedatos.php');
            if(isset($_GET['id'])) 
            {
                if (!isset($_SESSION))
                    session_start();
                $id[0] = $_GET['id'];
                $idName[0] = "id";
                $database = new basedatos();
                $arr= $database->conseguirDocumentos($id,$idName);
                $name = $arr[1];
                $type = $arr[2];
                $size = $arr[3];
                $content = $arr[4];

                header("Content-length: $size");
                header("Content-type: $type");
                header("Content-Disposition: attachment; filename=$name");
                echo $content;
                exit;
            }
            else
            echo "error";
	}
	
	function conseguirDocumentos()
	{
            if (!isset($_SESSION))
                    session_start();
            $usuario = $_SESSION['k_username'];
            if (isset($_GET['id_Grupo']))
                {                   
                    $id_Grupo = $_GET['id_Grupo'];
                    $_SESSION['id_Grupo'] = $id_Grupo ;
                }
            else
                $id_Grupo = $_SESSION["id_Grupo"];            
            include_once($_SESSION['dir'].'/basedatos.php');
            $database = new basedatos();            
            $arr1= array($id_Grupo);
            $arr2= array("id_Grupo");
            $arr = $database->conseguirDocumentos($arr1,$arr2);
            $cuenta = count($arr);
            if ($cuenta == 0)
                echo "No hay ningun documento en este grupo<br>";
            return $arr;
	}
	
	function mostrarDocumento()
	{
		include_once($_SESSION['dir'].'/basedatos.php');
		if(isset($_GET['id'])) 
		{
			$id[0] = $_GET['id'];
                        $idName[0] = "id";
			$database = new basedatos();
			$arr= $database->conseguirDocumentos($id,$idName);
			$name = $arr[1];
			$size = $arr[3];
			$type = $arr[2];
			$content = $arr[4];
			$formato = $this->comprobarFormato($type);
			if ($formato == "mal")
			{
				header( 'Location: /rspinf-usb/Documento/noSeMuestra.php' );
			}
			else
			{
				header("Content-type: $type");
				if ($type == "image/gif")
				{
					$im = imagecreatefromgif($content);
					imagegif($im);
					imagedestroy( $my_img );
				}
				else
					echo $content;
				exit;
			}
		}
		else
		echo "error";
	}
	
	function comprobarFormato($type)
	{
		if ((strncmp($type,"application/pdf",15) == 0) || (strncmp($type,"image/gif",9) == 0) || (strncmp($type,"image/png",9) == 0)
		|| (strncmp($type,"image/jpg",9) == 0)	|| (strncmp($type,"image/jpeg",10) == 0) || (strncmp($type,"text/",5) == 0))
			return "bien";
		else
			return "mal";
	}
        
        function borrarDocumento()
        {
            include_once($_SESSION['dir'].'/basedatos.php');
            if(isset($_GET['id'])) 
            {       
                if (!isset($_SESSION))
                    session_start();
                $id[0] = $_GET['id'];
                $idName[0] = "id";
                $database = new basedatos();
                $arr= $database->conseguirDocumentos($id,$idName);
                $creador = $arr[5];
                if($_SESSION['k_username'] == $creador){
                    $database->eliminarDocumento($id[0]);
                    header( 'Location: /rspinf-usb/Documento/DescargarDocumento2.php' );
                }
                else
                {
                    header( 'Location: /rspinf-usb/Documento/grupo1/noSeElimina.php' );
                }

		}
		else
		echo "error";
        }
}
?>